/**
 *  @file
 *  @brief   定义软件中需要经常使用的一些常量
 *  @author  wanghuan
 *  @date    2024.02.29
 *  @version  v1.0
 *  @par Copyright(c):  ShenGong  Simulation corporation
 */

#pragma once

#if !defined(_USE_MATH_DEFINES)
#define _USE_MATH_DEFINES
#endif  // _USE_MATH_DEFINES

#include <cmath>
#include <vector>

#include "DataStructure/Common/Id.h"
#include "DataStructureNamespace.h"

#include "Real.h"

SG_DATASTRUCTURE_COMMON_NAMESPACE_OPEN
///< 允许误差值
static const SG::DataStructure::Common::Real TOLERANCE = 1.0e-6;

///< 单个节点上最大自由度数量
static const std::size_t NODEDOFSIZE = 6;

///< 圆周率
static const SG::DataStructure::Common::Real PI = M_PI;

/// @brief 数据导入等需要创建的非法Id值
static const int DEFAULT_ID = -999;

/// @brief 非法的浮点型数据
static const SG::DataStructure::Common::Real UNASSIGN_FLOAT = -9999999.0;

/// @brief 虚节点ID 自增起点
static const SG::DataStructure::Common::I64 VIRTUAL_GRID_ID_ORIGIN = 101e+6;
SG_DATASTRUCTURE_COMMON_NAMESPACE_CLOSE